package com.demo.microblockchain;

/**
 * 如果你拥有1比特币，你必须前面就得接收1比特币。比特币的账本不会在你的账户中增加一个比特币也不会从发送者那里减去一个比特币，
 * 发送者只能指向他/她之前收到过一个比特币，所以一个交易输出被创建用来显示一个比特币发送给你的地址（交易的输入指向前一个交易的输出）。
 * 这个类将用于引用尚未使用的transactionoutput。transactionOutputId将用于查找相关的TransactionOutput，允许矿工检查您的所有权。
 * @author zlf
 * @email i@merryyou.cn
 * @since 1.0
 */
public class TransactionInput {
    public String transactionOutputId; //Reference to TransactionOutputs -> transactionId
    //你的钱包余额是所有未使用的交易输出的总和
    //从这一个点出发，我们会依照比特币中的说明，把所有未使用的交易输出称为UTXO.
    public TransactionOutput UTXO; //Contains the Unspent transaction output

    public TransactionInput(String transactionOutputId) {
        this.transactionOutputId = transactionOutputId;
    }

	@Override
	public String toString() {
		return "TransactionInput [transactionOutputId=" + transactionOutputId
				+ ", UTXO=" + UTXO + "]";
	}

}